home *** CD-ROM | disk | FTP | other *** search
- s s
- .$ .$
- .$$ .$$
- .$^$ $$$
- .$' $. .s$Ss.. .s$Ss.. `$$ .s$Ss..
- .$' $$ .$$$²°^²$$s. .$$$²°^²$$s. `$. .$$$²°^²$$s.
- .$$' $$ $$$ `$$ $$$ `$$ $$ $$$ `$$
- .s$$$$$s. ²$. `²$$s. ² $$$ ² $$. `²$$s. ²
- .sS$²°^°²S$$Ss.² `$$$²' $$$. .sS. $$$ `°²S$Ss.
- ..ssS$$²' `°²S$s. .$$' `$$$ .s$S²S$. $$$. .s. `°²$s.
- ²$S²' $Sss. .$$' .$ $$$. .s$S²'.$ $$ $$$$. .$$' `$$
- $$$$$ $$$ .$$ `$$$ `²²' .$$ `$ $$$$$ $$$ .$$
- $$$$² `$$s. .s$$' `$$s. .s$$' $$$$² `$$s. .s$$'
- $$² `²$$$S²' Ms. `²$$$S²' $$² `²$$$S²'
- $' $'
- C O R P.
-
- PPLX 2.OO
- PCBoard Programming Language eXtractor
-
- (C) 1996 Lone Runner
-
- · · ·-───────────────────────────--· · ·
-
- Main Coding - Lone Runner
- Parts - The doC
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ READ BEFORE USING ! ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- You may use this program provided that :
-
- - You are not part of any federal group (i don't like federal groups)
- - You are not part of Clark Development Company (nothing personnal...)
- - You planed to use it at home for personnal purposes only (no money here!)
-
- THE AUTHOR MAY NOT BE RESPONSIBLE FOR ANY CHANGE MADE TO ANY PROGRAM
- BY USING PPLX. Nobody will ever ever enter an action against Borland
- because they made Turbo Debugger or to V Communication because they
- made Sourcer. There is no more reason for PPLX author to be responsible
- for any law violation by using this software.
-
- If you don't agree with the above terms or if you are not in accordance
- with restriction use, you HAVE to delete this software IMMEDIATLY.
-
- Further use of this software will be considered as the acceptance of the
- above terms.
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ DESCRIPTION ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- PPLX is a PPE decompiler... working with PPE's up to 3.30 handling functions
- & procedures, performing heuristic analysis and intelligent postprocessing,
- allowing you to remove backdoors, customize uncustomizable PPE's, recover a
- lost source code, or have a look into any PPE you choosed to use...
-
- See WHAT'S.NEW for release history.
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ INSTALLATION ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- Hmm... copy PPLX.EXE to your UTILS\ or WHATEVERITISCALLED\ subdirectory,
- preferably in your PATH...
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ USING PPLX ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
-
- PPLX FILENAME[.PPE] [/A] [/L] [/U] [/F]
-
- /N Disable heuristic analysis
- /L Don't delete PPU file
- /U Only create PPU file
- /F Disable postprocessing (Flat PPLX 1.xx decompilation)
-
- ie:
-
- PPLX C:\PCB\PPE\*.PPE /A
- PPLX WEEKTOP.PPE /A /L
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ POSTPROCESSING ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- Starting from v2.0, PPLX will now postprocess the created source to remove
- the nasty PPLC transformations.
-
- ■ Original source :
-
- Integer A
- For (A=1) To 2
- PrintLn "Hello, world."
- Next
-
- ■ PPLX without Postprocessing :
- ~~~~~~~
- Integer INTEGER001
- INTEGER001 = 1
- :LABEL000
- If (!(((1 < 0) && (INTEGER001 >= 2)) || ((1 >= 0) && (INTEGER001 <= 2)))) Goto LABEL001
- PrintLn "Hello, world."
- INTEGER001 = INTEGER001 + 1
- Goto LABEL000
- :LABEL001
-
- ■ PPLX with Postprocessing
- ~~~~
- Integer INTEGER001
- For INTEGER001 = 1 To 2
- PrintLn "Hello, world."
- Next
-
-
- Nice eh? :)
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ PPU FILES ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- A .PPU file is simply a v3.xx .PPE decrypted to the v2.0 flat format.
- You can run a PPU after renaming it to PPE without any problem provided
- you use the right version of PCBoard.
-
- HINT FOR SYSOPS!
-
- Decrypting your PPE's will speed up your system as PCB will not have
- to decrypt them before running them.
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ TROUBLESHOOTING ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- WARNINGS/ERRORS
- ───────────────
-
- "x function(s) were declared but not defined..."
- "x procedure(s) were declared but not defined..."
-
- This means that, in the original source code, a function was coded but not
- used. When PPLC compile the source, if a function is not used, it doesn't
- update an important field that holds the function coordinates... In this
- case, PPLX will not be able to detect the beginning of the function, and,
- if there are local variables, to declare them. The same problem may appear
- with procedures.
-
-
- "Unknown statement xxxx, dunno how to handle it... Skipping!"
-
- This means that an unknown statement was used, theorically, this cannot
- happen, but in real life, a corrupted PPE or an anti-decompilation trick
- can produce this warning. If an unknown statement is found, it is skipped,
- causing some next statements to be irrationnal... Code may redecompile
- correctly after some instructions but it is not likely that the code will
- be recompilable.
-
-
- "Unknown function xxxx!"
-
- This is a fatal error, an unknown function cannot be skipped, it is due
- to the same things (corrupted PPE, anti-decompilation trick) but cannot
- recover.
-
-
- "FATAL ERROR! ..."
-
- Any error message beginning with "FATAL ERROR" means that the PPE cannot be
- decompiled due to one of the following reasons :
-
- NORMAL REASONS
-
- - An unknown anto-decompilation trick was used
- - You did not have enough memory
- - The PPE was corrupt
- - You used PPLX on a PPE compiled by a futur and unsupported PPLC
- (currently, PPLX can handle 1.0 to 3.30 which is the latest so far)
-
-
- SHITTY REASONS THAT SHOULD NOT HAPPEN BUT THEY DO BECAUSE YOU'RE STUPID
-
- - You patched PPLX to make him do some misterious things (hmmm... ;))
- - You traced PPLX during decompilation and changed a random variable.
- - You patched you PPE before decompiling it, just for trying to make
- a brand new anti-decompilation system. (Well... PPE's are encrypted,
- changing only one byte will fuck up the rest of the PPE unless you can
- decrypt it, patch it, and recrypt it...)
-
- OTHER REASON
-
- - I'm a stupid coder and i forget some bug(s).
-
-
- PPE'S RUNNING DIFFERENT AFTER BEEING DECOMPILED & RECOMPILED
- ────────────────────────────────────────────────────────────
-
- Some PPE's (CSSC for example) compute a self check to see if they were
- decompiled and recompiled... It is not a big deal because you have the
- source so you can remove the self-check test.
-
-
- ANTI-DECOMPILATION SYSTEMS
- ──────────────────────────
-
- Sometimes, PPLX will report "Anti-decompilation system stripped!". In fact
- this happen when a suposed anti-decompilation system has been found.
- Depending on the anti-decompilation trick used, PPLX will remove or
- modify the line so it can be decompiled. Sometimes you won't even see
- the anti-decompilation in the resulting PPX file, sometimes you will have
- something like :
-
- INTEGER001 = INTEGER001 - *
-
- Just modify this line or remove it so the file can be recompiled.
-
- When PPLX remove the line itself, there is always a risk that this line
- was really used in the code. For example, if a coder put an anti-
- decompilation trick on a line that assigns a variable, he can always
- use the result of this assignation elsewhere in the code. Because the line
- has been stripped, the PPE will not run as before... Well... Get a life !
- you have the code ! Don't expect me to do everything for you ! :)
-
-
- PPLC BUGS
- ─────────
-
- We all know this, PPLC is not bug free... unfortunatly, there are cases
- where PPLC bugs prevent a source from being decompiled correctly...
-
- In most cases, PPLX will detect the bug and place a warning in comments,
- so you can check easily what's going on...
-
- But sometimes PPLX will not detect the bug, simply because PPLC compiled
- the thing as another statement... In those cases, PPLX will decompile what
- is coded, and will not be able to guess that PPLC was wrong when compiling
- it...
-
- For example, try to compile :
-
- IF (!(A == B) && !(C == D)) THEN...
-
- and
-
- IF ((A == B) && !!(C == D)) THEN...
-
- Those two statements are compiled the axact same way by PPLC although they
- are not equivalent... However, PPLX will always decompile to the first
- case, wich is the most common one (who will put two NOT on the same
- test ?!!!) and, more important, the one that PCB actually execute...
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ WARNINGz / DISCLAIMER ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- ■ This decompiler should work perfectly on your machine as it is the
- case on mine. However, some PPE may not decompile, due to some new
- anti-decompilation tricks that maybe will cause PPLX to crash... It is
- possible, also, that PPLX crash or fail to decompile a PPE because of a
- special instruction chain that i didn't manage to handle... In such a
- case, please mail me an uuencoded version of the PPE...
-
- ■ Do what you want with this... You may use this program in any way you
- want, you may destroy it, burn it, eat it, smoke it, inject it, vomit it,
- kick it, suck it, piss it, shot it, print it with reversed lines, rename
- it to zip, arj, arc or whatever you want, try then to extract it, to
- pkzipfix it, you may also perform sort on it, uuencode, crypt it with
- PGP, play it on your GUS or even your SB, you may even decompile, modify
- it, you may do WHAT YOU WANT, but NO MEMBER OF AEGiS CoRP MAY BE
- RESPONSIBLE FOR ANY DAMAGE CAUSED BY THE USE OF THIS PROGRAM OR IT'S
- MODIFICATIONS...
-
- ■ I don't ask any money for you to use PPLX, so don't expect support if
- you experience troubles with this program. If i have time, i will answer
- each email, but i cannot garantee this nor. Don't think it is because
- i have a big ego, but i simply don't have much time :) Anyway, be
- patient, answers may come a lot later than expected, but they may come...
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ FINAL WORDS ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- ■ All you PPE coders
- ──────────────────
-
- Stay tuned these months for PowerPPL v3.0, featuring transparent use of
- Chicken's AWESOME PPLDebug with your *real* source!
-
-
- ■ Clark Development Company
- ─────────────────────────
-
- Why do you bother changing the cryptosystem ? As PCB will always have
- to decrypt a PPE, you'll never be able to prevent another program from
- doing the same...
-
- Decrypting is SLOW ! PPE v3.30 have to be :
-
- - read from disk
- - decrypted with your stupid v3.30 XOR "a deux balles"
- - AGAIN decrypted with the v3.00 cryptosystem
-
- Repeat this operation ONE variable at a time (!) and then for the code
- itself...
-
- For a PPE worth using, this can take SECONDS on a slow machine !
-
-
- ■ Shareware PPE Coders
- ────────────────────
-
- Shareware PPE ? Come on... be serious.
-
-
- ■ PCB Sysops
- ──────────
-
- Claiming a PPE is yours by changing a copyright notice will not bring you
- fame... It will only bring you more & more lameness...
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ CONTACT ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- Don't write me for things like :
-
- "Please, explain me the PPE format"
- "Where could i get PPLX source code?"
-
- But write me for anything else...
-
- lone.runner@nuxes.frmug.fr.net
- lone.runner@ace.epita.fr
-
- Francis Gastellu on : A.C.E
- +33-1-4588-7548
- +33-1-4588-8809
-
- Lone Runner on : THE DEADLINE
- +33-1-4648-6763
- +33-1-4644-5796
-
- UNDERGROUND CAFÉ
- +33-1-4882-2581
-
- Don't expect a FAAAAAAAST answer... :)
-
- If you want to send me a postcard, this will be REALLY appreciated!
-
- Of course, if you have too much money, you could send me some or, maybe
- a CD, or some hardware :)
-
- Write for anything to :
-
- Francis Gastellu
- 42 Bd de Stalingrad
- 94500 Champigny Sur Marne
- FRANCE
-
- If, for any reason, you need it, here's my PGP key.
-
- -----BEGIN PGP PUBLIC KEY BLOCK-----
- Version: 2.6
-
- mQCNAi/8EHAAAAEEAKmS4/mymaVeyczvrKdr4sSdj8vKXHWz7SOK5wcI3S/bkIzk
- cF7b0/V35uP5ItStUxNsU54zRDS9snl3MH4/9wgcpky/GEGVAeuC0suybpBOLiJP
- JKUkffhk2jlB7qFB8+dQhMjBc1iUST8rDSuID7t7ChqdY2xHihxaVwFGSpdVAAUR
- tB5sb25lLnJ1bm5lckBudXhlcy5mcm11Zy5mci5uZXS0C0xvbmUgUnVubmVy
- =sqjP
- -----END PGP PUBLIC KEY BLOCK-----
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ SOAP ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- Do you know SOAP ? No ??!!?
-
- Well... SOAP stands for "State Of the Art for PCBoard", it is a fast-growing
- internationnal network dedicaced to PCBoard. For now, SOAP is distributed
- in France, Spain, Italy, Denmark, Germany and Switzerland, and many groups
- has joined (like AEGiS, TNT, ECR and more). The purpose of this net is to
- create a big meeting place for all sysops that have interests in PCB
- (PPE Coding, Configuration problems, Interfacing, Ansi/ascii art, etc...)
- There are also group-restricted confs for PPE group members. An echo file
- is under develoment and should spread all productions from all groups on
- SOAP and more...
-
- If you want more infos (Conf list, etc...) see the Soap Infopackage
- included into PPLX archive.
-
- See ya in a SOAP Conf !
-
-
- ───────────────────────────────────────────────────────────────────────────────
- ▒▒▌ GREETS ▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ───────────────────────────────────────────────────────────────────────────────
-
- Gandalf/AEGiS - Tibadida!
-
- Chicken/Tools4Fools - Thanks for your hint about the WAIT sttmt.
- Hope to see you in a party next year
- with more time to speak together than we
- had at wired...
-
- The doC/AEGiS - Jeanneton prend sa faucilleuuu, la rirètteu,
- la rirèèè-èè-teuuuu!! :)
-
- Number Six/AEGiS - We want Deadreader finished!
-
- Jason Bourne/AEGiS - GP ROULAIZE! YEAHH!
-
- Ferem/MWB/AEGiS - Don't be upset about chapi-chapo, it was
- only for once, we won't do it again :)
-
- New ID/Massive Posse
- Kloy / (┤RT
- Qube / Tools4Fools
- Turbo-D / Triloxy
- Speed Freak / Triloxy
- Captain THI
- Medicus / Keen Like Frogs
- Locutus / mozICart
- Parac / mozICart
-
-
- All PPE Groups - Go on, continue to release new products,
- and feel free to chat with us!
-
-
- Greets also to all my contacts over the PPE scene, all sysops from the boards
- where i usually log, all people that already or will send me email about PPLX,
- reporting problems or just telling they use it... :) At least, greets to
- Marie-Pierre, Florentine, Andrea, Iwona, Charlotte, Camille, Dominique,
- Alexandra, Line, and all the nice girls who i gorget their names (shame on
- me), and who will, for sure, never see this file :)
-
-
-
- _.Lone Runner
-
-
- _ _ _ ___ ___/\
- _________/\ /\_____________/\________________ ___ _ _ \/\______________
- / _ \/ _________ / ______________________ / __________ /
- _/ __/ \ ____)___\/ \ \_/ \/\___________ \/_
- \ \ \_ \ \_ \__ \_ \_ / /
- \______\ /____________/________________/_____________/____________/kP
- ·-------`------'---------------------------------------------------------·
-
-